Anno accademico 2007/2008
Home page
Materiale relativo alle lezioni
-
Lezione del 2 ottobre - Lezione 1
Introduzione generale al corso.
Introduzione al linguaggio C. Uso del compilatore.
Lucidi (.pdf ).
-
Lezione del 4 ottobre - Lezione 2
Analisi del processo di compilazione:
preprocessor, compiler, linker.
Compilazione su file separati, uso di header file.
Lucidi (.pdf ).
Sorgenti ( .zip ).
-
Lezione dell'11 ottobre - Lezione 3
Introduzione alla definizione a all'uso di funzioni.
Esecuzione passo-passo di un programma (gestione del
record di attivazione di una funzione).
Lucidi
( .pdf).
Esempio di esecuzione di una funzione
( .pdf).
-
Lezione del 18 ottobre - Lezione 4
Introduzione ai puntatori
(operatori & e *). Uso dei puntatori per simulare
il passaggio dei parametri per indirizzo.
Lucidi
( .pdf ).
-
Lezione del 25 ottobre - Lezione 5
I tipi interi e reali.
Le funzioni di input getchar(), putchar(), printf() e scanf().
Lucidi
( .pdf ).
Esercizi sul passaggio dei parametri per indirizzo
( .pdf ).
-
Lezione dell'8 novembre - Lezione 6
L'aritmetica dei puntatori. Definizione di array.
Passaggio di un array come parametro di una funzione.
Lucidi
(.pdf).
-
Lezione del 15 novembre - Lezione 7
Discussione degli esercizi visti la scorsa lezione di laboratorio:
es1Compl.c, es2Compl.c,
es3Compl.c, es4Compl.c.
Gli operatori C: confronto, assegnamento, incremento, AND, OR e NOT. Istruzioni semplici. Le strutture di controllo if e while.
Lucidi (.pdf).
-
Lezione del 22 novembre - Lezione 8
Rappresentazione di stringhe; esempi di funzioni su stringhe.
Lucidi
(.pdf ).
-
Lezione del 29 novembre - Lezione 9
Allocazione dinamica della memoria: le funzioni malloc(), calloc()
e free(). Rappresentazione di matrici.
Lucidi
(.pdf).
Cicli. Uso di #ifdef.
Lucidi
(.pdf).
-
Lezione del 6 dicembre - Lezione 10
Le strutture. L'operatore ->. Introduzione alle liste.
Lucidi
(.pdf).
-
Lezione del 13 dicembre - Lezione 11
Rappresentazione di insiemi dinamici mediante liste
(.pdf).
Rappresentazione di insiemi dinamici alberi binari di ricerca
(.pdf).
File sorgente:
tree.c,
tree.h.
-
Lezione del 20 dicembre - Lezione 12
Implementazione e uso di stack e code.
Lucidi
(.pdf).
-
Lezione del 10 gennaio - Lezione 13
Tabelle hash. Esempio di problema di programmazione dinamica.
Lucidi
(.pdf).
Laboratorio
-
Laboratorio del 9 ottobre - Laboratorio 1
Testo degli esercizi
(.pdf).
Il programma rettangoli.c (da completare).
Esempio di makefile.
Soluzione (parziale) rettangoliSvolto.c
-
Laboratorio del 16 ottobre - Laboratorio 2
Testo degli esercizi
(.pdf).
File: char.c (programma da completare),
in.txt (esempio di file di input).
Soluzione di alcuni esercizi : charSol.c.
-
Laboratorio del 23 ottobre - Laboratorio 3
Testo degli esercizi
(.pdf).
File per l'esercizio 1: simplfy.c.
File per l'esercizio 2: swap.c.
-
Laboratorio del 30 ottobre - Laboratorio 4
Testo degli esercizi
(.pdf).
Soluzione esercizio 1:
root.c.
-
Laboratorio del 6 novembre - Laboratorio 5
Testo degli esercizi
(.pdf).
File per l'esercizio 1: printInt.c.
File per l'esercizio 2: calc.c, in.txt .
Soluzioni:
printIntCompl.c,
calcCompl.c.
-
Laboratorio del 13 novembre - Laboratorio 6
Testo degli esercizi
(.pdf).
File per l'esercizio 1: es1.c.
File per l'esercizio 2: es2.c.
File per l'esercizio 3: es3.c.
File per l'esercizio 4: es4.c.
-
Laboratorio del 20 novembre - Laboratorio 7
Testo degli esercizi
(.pdf).
File da completare:
sort.c.
-
Laboratorio del 27 novembre - Laboratorio 8
Testo degli esercizi
(.pdf).
File per l'esercizio 1:
string.c.
File per l'esercizio 2:
anagrammi.c.
-
Laboratorio del 4 dicembre - Laboratorio 9
Testo degli esercizi
(.pdf).
Esercizio 1. Programma da completare:
register.c.
Esempio di input: in.txt.
Esercizio 2. Programma da completare:
queen.c.
Soluzioni del problema per scacchiera 8 x 8: q8.txt.
-
Laboratorio dell'11 dicembre - Laboratorio 10
Testo dell'esercizio
(.pdf).
File da completare:
list.c.
Esempio di file di input:
in.txt.
File ausiliari:
sort.c,
sort.h.
-
Laboratorio del 18 dicembre - Laboratorio 11
Testo dell'esercizio
(.pdf).
File da completare:
occ.c.
Esempi di file di input:
in.txt,
animali.txt,
frutta.txt.
-
Laboratorio dell'8 gennaio - Laboratorio 12
Testo dell'esercizio
(.pdf).
File da completare:
path.c.
File di test:
in1.txt,
val.txt.
in2.txt.